草庐IT

JavaScript for 循环

全部标签

c# - 将零分配给变量是否可能比具有一百万次迭代的 For 循环花费更多时间?

由于分析我的代码,我得到了一个奇怪的输出。对于代码的主要计算,它正确地表明超过70%的时间花在了这些部分上,但还有其他一些有趣的地方。下面一行占用%5.8intcounter=0;//%5.8oftotaltime而且下面的For循环耗时更少(nx=800&ny=800)!这怎么可能?附加了探查器结果的图片。 最佳答案 更好的测试方法是附加分析器,但先不要启动它。(这看起来像我知道会执行此操作的VS探查器。)运行代码,然后启动探查器并再次运行(或多次)。这将使您更好地了解代码的作用(除非您正在尝试衡量启动性能)。

c# - 静态成员导致结构布局中的循环

publicstructMyStruct{staticMyStruct?myProperty;}尝试编译它会给我错误:结构成员“myStruct.myProperty”导致结构布局中出现循环。据我所知,当结构的实例包含自己的结构作为属性(这对我来说很有意义)时,通常会发生此错误。但在这里,它是关于static属性的,所以我看不出这样的递归是如何发生的。另外,该错误仅在声明Nullable结构时发生,声明静态非nullable是安全的。这里到底发生了什么会导致循环?编辑:我确实找到了我应该重复的问题;它解释了为什么当Instance有自己类型的成员时会发生递归,但这里是关于静态成员的。我

c# - foreach 循环与 ForEach 方法 - 区别?

这个问题在这里已经有了答案:foreachvssomeList.ForEach(){}(13个答案)关闭7年前。使用foreach循环或ForEachLINQ方法之间是否存在任何差异(性能或其他方面)?对于上下文,这是我方法之一的一部分:foreach(varpropertyintypeof(Person).GetProperties()){Validate(property.Name);}我也可以使用这段代码来执行相同的任务:typeof(Person).GetProperties().ToList().ForEach(property=>Validate(property.Name

c# - 好的编码? (多个消息循环)

我需要一些关于正确编码的建议:我正在开发一个使用多个串行连接的程序。每条通信线路都有一个Controller作为抽象层。在Controller和串行端口之间,插入一个协议(protocol)以将数据包装在数据包中,以备传输。该协议(protocol)负责处理失败的交付、重新发送等。为确保GUI不会挂起,每条连接线(协议(protocol)和串行端口)都在单独的线程上创建。Controller由主线程处理,因为它在GUI中有控件。目前,当我创建线程时,我选择在它们上创建一个消息循环(Application.Run()),因此我只是调用线程(BeginInvoke)并使用消息循环作为缓冲区

c# - 在 for 循环内声明的变量会影响循环的性能吗?

我做了功课,发现反复保证无论在for循环内部还是外部声明变量都不会影响性能,而且它实际上编译为完全相同的MSIL。但我一直在摆弄它,发现在循环内移动变量声明确实会带来相当大且一致的性能提升。我编写了一个小型控制台测试类来测量这种效果。我初始化了一个静态double[]数组items,并且两个方法对其执行循环操作,将结果写入静态double[]数组缓冲区。最初,我的方法是那些我注意到差异的方法,即复数的大小计算。对长度为1000000的items数组运行100次,对于变量(6个double变量)在循环内的那个,我的运行时间始终较低:例如,32,83±0,64msv43,24±0,45ms

c# - 防止 Lua 死循环

我使用lua接口(interface)在我的C#程序中获得lua支持,如果用户提交这样的代码,工作线程将卡住whiletruedoend我有一种方法可以检测无限循环是否正在运行,但我需要一种从工作线程退出DoString方法的好方法。有什么想法吗?编辑:@kikito,是的,我正在检测类似的东西。我遇到的问题是我找不到一种干净的方法来终止DoString方法,看起来Lua接口(interface)主类(Lua)有一些静态依赖性,因为如果我这样做lua.Close();在我的实例中,它会中止DoString方法,但下次我实例化一个lua类时newLua();它会崩溃,说一些关于保护内存的

c# - 在二维网格中查找所有循环/封闭形状

我有一个“无限”二维网格,我想检测封闭/完整的“结构”——任何形状的区域,这些区域被四面包围。但是,我需要识别每个单独的闭合电路-包括较大的形状(如果有的话)。在研究这个过程中,我发现了循环检测算法,但我没有看到一种干净/有效的方法来将较大的电路与较小的电路分开。例如给定以下两个“完整”结构:01110010100111000000011111010101011111第一个是由8个“墙”包围的单个单元格。循环检测使得检测这一点变得微不足道。第二个示例包含示例一个的两个副本,但它们共用一堵墙。我关心的是三个独立的电路-左室、右室和整体结构。循环算法的多次通过可能有效,但我必须确保我没有回

c# - For 循环导致 Task.Run 或 Task.Start 溢出

遇到问题,希望有人能帮我解决。我尝试在循环中启动4个任务,但我收到ArgumentOutOfRangeException:for(inti=0;i.Run(()=>GetData(i,plcPool[i]));}循环因为i=4而溢出如果我在没有循环的情况下启动任务,它们会毫无问题地运行:tasks[0]=Task.Run(()=>GetData(0,plcPool[0]));tasks[1]=Task.Run(()=>GetData(1,plcPool[1]));tasks[2]=Task.Run(()=>GetData(2,plcPool[2]));tasks[3]=Task.Run

c# - IEnumerable - 更新 foreach 循环内的对象

我有一个非常简单的程序,它创建了一堆对象并遍历它们以设置每个对象的Priority属性。staticvoidMain(string[]args){foreach(varobjinObjectCreator.CreateObjectsWithPriorities())Console.WriteLine(String.Format("Object#{0}haspriority{1}",obj.Id,obj.Priority));}classObjectCreator{publicstaticIEnumerableCreateObjectsWithPriorities(){varobjs=n

Python从入门到精通第3天(循环结构的使用)

循环结构for-in循环while循环break和continue关键字练习在写程序的时候,一定会遇到需要重复执行某条或某些指令的场景,例如用程序控制机器人踢足球,如果机器人持球而且还没有进射门范围,那么我们就要一直发出让机器人向球门方向移动的指令。这个场景中,让机器人向球门方向移动就是一个需要重复的动作。循环结构就是程序中控制某条或某些指令重复执行的结构,在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。for-in循环如果明确的知道循环执行的次数或者要对一个容器进行迭代(后面会讲到),那么我们推荐使用for-in循环,例如下面代码中计算1~100求和的结